package com.iocaop.security.demo02.controller;

import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.security.PermitAll;

@RestController
@RequestMapping("/test")
public class TestController {

    @GetMapping("/echo")
    public String demo() {
        return "示例返回";
    }

    @GetMapping("/all")
    public String home() {
        return "我是首页,所有用户可以访问";
    }

    @PostMapping("/all")
    public String home(String name){
        return "我是首页,所有用户可以访问,你好,"+name;
    }

    @GetMapping("/admin")
    public String admin() {
        return "后台页面，管理员可以访问";
    }

    @GetMapping("/normal")
    public String normal() {
        return "个人中心，普通用户可以访问";
    }

    @PermitAll
    @GetMapping("/ano/1")
    public String testAno1(){
        return "注解配置权限1";
    }

    @GetMapping("/ano/2")
    @PreAuthorize("hasRole('ROLE_NORMAL')")
    public String testAno2(){
        return "注解配置权限2";
    }
}